Signalling in Modern Telecommunications Systems
In modern switched telecommunication systems (in particular, modern PSTNs) it has become common practice to provide two related but separate network infrastructures: a bearer or transmission network for carrying end-user voice and data traffic, and a signalling network for controlling the setup and release of bearer channels through the bearer network in accordance with control signals transferred through the signalling network. In practice such signalling networks comprise high-speed computers interconnected by signalling links; computer programs control the computers to provide a set of operational and signalling functions in accordance with a standardized protocol. One example of such a signalling protocol is the afore-mentioned Signalling System No. 7 (SS7) which is being extensively deployed for control of telephone and other data transmission networks. An SS7 network basically comprises various types of signalling points, namely, signalling end points (SEPs) and signalling transfer points (STPs) interconnected by signalling links, the SEPs being associated for example with respective service switching points (SSPs) of the transmission network, and with service control points (SCPs).
Referring to FIG. 1, an SS7 network 10 is shown inter-communicating three signalling end points constituted by two service switching points SSPs 11 (between which extend speech circuits 12 of a transmission network not further illustrated) and a service control point SCP 13. The SCP serves to implement particular services (sometimes called IN, or Intelligent Network, services) in response to service requests received from an SSP, such a service request being generated by an SSP upon certain trigger conditions being met in the SSP in respect of a call that it is handling. A typical service may involve the translation of the dialled number (called party number) to a different number, the SCP returning this latter number to the SSP to enable the latter to complete call setup.
The SS7 network 10 includes two pairs 14 of signalling transfer points STPs, and a plurality of link sets 18 interconnecting the SSPs, SCP and STPs into a redundant network. Each signalling link set 18 is made up of one or more individual signalling links, the number of signalling links in a link set being chosen to provide appropriate capacity for the level of signalling traffic expected. The redundancy provided in respect of the STPs and links is to ensure that the failure of a single component of the network core does not cause the whole network to fail.
It should be noted that an SS7 network will typically comprise more STP pairs, SSPs and SCPs than illustrated. Service control functionality, as well as being provided in an SCP, can be provided in an Adjunct directly connected to an SSP.
Messages traversing the links of the network may be any of a large number of different types, depending on the nature of the call to which the message relates and the function specified by the message.
The SS7 Architecture
In order to facilitate an understanding of the present invention, a brief review will be given of the layered structure of the SS7 architecture and of the messages passed over the links of the network 10 to implement the SS7 architecture.
FIG. 2 illustrates the SS7 architecture. Levels 1 to 3 (referenced 21, 22, 23) form the message transfer part (MTP) 24. The MTP 24 is responsible for transferring signalling information between signalling points in messages. Level 4 (not referenced as a whole) comprises circuit-related user parts, namely ISDN User Part (ISUP) 26 and Telephone User Part (TUP) 27. These user parts define the meaning of the messages transferred by the MTP 24 and provide functionality to the users of SS7 (block 29). The user parts 26 and 27 are specific to particular types of circuit-related applications as indicated by their names. In fact, the ISUP is the most important user part, the TUP being a subset of ISUP and having been largely replaced by the latter. Most inter-exchange signalling, such as between SSPs 11 in FIG. 1, uses ISUP messages.
SS7 level 4 also includes functional elements defining a general protocol for non-circuit-related information, such as operations, maintenance and administration information or network database information (provided, for example, from an SCP 13). The main functional element in this Level 4 protocol is the Transaction Capabilities (TC) 30 which sits on top of a Signalling-Connection-Control Part (SCCP) 31 and beneath a TC Users element 32. The SCCP 31 actually forms part of the transfer mechanism for non-circuit-related applications, combining with MTP 24 to provide a transfer mechanism meeting the Open Systems Interconnection (OSI) Layer 3/4 boundary requirements. Users of the SCCP/TC stack include the INAP (Intelligent Network Application Part) 32 and MAP (Mobile Application Part) 33. With reference to FIG. 1, messages passed between an SSP 11 (FIG. 1) and SCP 13 will be INAP messages using SCCP/TC. Some inter-exchange signalling may also use SCCP/TC messages where, for example, the purpose of the signalling is service related rather than circuit related. ISUP may also use the SCCP for certain messages.
Considering the MTP 24 in a little more detail, Level 1 (reference 21) defines the physical, electrical and functional characteristics of the transmission path for signalling. MTP Level 2 (reference 22) defines the functions and procedures for the transfer of signalling messages over a link between two directly-connected signalling points. MTP Level 3 (reference 23) provides functions for the reliable transfer of signalling information from one signalling end point to another. Thus, Level 3 is responsible for those functions that are appropriate to a number of signalling links, these being separable into signalling-message handling functions and signalling-network management functions.
When considering the passing of messages over a single link, it is the combination of Levels 1 and 2 that provides for the reliable transfer of signalling information. The Level 2 functions provide a framework in which the information is transferred and performs error-detection and error-correction processes; the Level 2 functions are carried out afresh on a link-by-link basis. At Level 2, information is seen as being transferred between signalling points in messages known as "signal units".
The general form of a signal unit 40 is shown in FIG. 3. As can be seen, a field 41 carrying message/data is encapsulated in a Level 2 framework comprising the following fields: a flag field; a backward sequence number field (BSN); a backward-indicator bit (BIB); a forward sequence number field (FSN); a forward-indicator bit (FIB); a length indicator field (LI); a spare field (SP); a check field; and a terminating flag field. The bit lengths of these fields are also indicated in FIG. 3. The FSN, FIB, BSN, BIB and check fields provide error correction functionality at link level in a manner well understood by persons skilled in the art.
There are three types of signalling unit:
MSU--the Message Signal Unit--MSUs carry all service/application data sent on the SS7 network. The amount of data per MSU is limited to 273 octets maximum. PA1 LSSU--the Link Status Signal Unit--LSSUs carry information relating to the status of the link and are therefore concerned with Level 2 functions. Normally, LSSUs are only seen during the initial alignment procedure when a link is brought into service but are used at other times, for example, to stop the flow of signal units when processors are busy. PA1 FISU--the Fill-In Signal Unit--When no MSUs or LSSUs are to be sent, a signalling point continually sends FISUs. FISUs carry basic Level 2 information only, for example, the acknowledgement of the last MSU (field 41 is empty). PA1 (1) EO1 examines the dialled digits and determines that the dialled number (DN) relates to switch EO2 which is a donor EO (that is, some subscribers have been ported from this EO). Of course, carrying out this determination requires that every switch must perform an internal lookup to determine whether the DN is destined for a donor EO. PA1 (2),(3) An LNP SCP database lookup is now performed to determine if the Called Party Number CdPN is ported (typically, this query will be routed via an STP as illustrated). PA1 (4),(5) The SCP returns an LRN. For non-ported customers the LRN will be the same as the original CdPN. However, if the customer has ported the LRN will be different from the original CdPN. PA1 (6),(7) Assuming the DN is for a ported customer, then EO1 must route the call based on the LRN routing tables. The chosen route will generally be via an Access Tandem as the call is destined for a different carrier. Once a route is selected, switch EO1 prepares an IAM with the following substitutions: CdPN=LRN, GAP=DN and FCI=LNP Query Done. The IAM is then transmitted. PA1 (8) When the IAM arrives at the recipient switch EO3, a check is performed on the FCI and GAP. This check indicates that the IAM relates to a ported customer and so EO3 must substitute CdPN=GAP and then perform a lookup on the CdPN to establish the physical connection to the CPE (Customer Premises Equipment). PA1 (a)--intercepting said circuit-related control messages, PA1 (b)--for each intercepted control message, accessing service trigger data to ascertain whether service implementation action is required in respect of the call associated with the control message, PA1 (c)--where step (b) indicates that service implementation action is required, modifying the corresponding control message, and PA1 (d)--forwarding on the intercepted control messages over the signalling network.
The length indicator (LI) within each message indicates the signal unit type as follows: LI=0 means FISU; LI=1 or 2 means LSSU; and LI=3 or more means MSU.
FIG. 3 further illustrates at 42 the basic format of an MSU; as can be seen, it comprises a service information octet SIO of 8 bits and a signalling information field SIF of 8n bits, where n is a positive integer. The SIO field includes a Service Indicator sub-field that defines the user part or equivalent appropriate to the message. The SIF contains the information being transferred and will generally include a routing label 43 comprising a 14-bit destination point code (DPC) indicating the destination signalling end point, a 14-bit originating point code indicating the originating signalling end point, and a 4-bit signalling link selection field for specifying a particular link in cases where two signalling points are linked by a multiple-link link set. The MTP 24 is not aware of the contents of the SIF other than the routing label.
As an example of the information that may be borne by an MSU, where a call is being set up, the first ISUP message to be sent out by the calling-party exchange is an initial-address message (IAM) which will contain the required address (e.g. the digits dialled by the calling customer) and it results in a seizure of a circuit by each exchange along the route to the called-party exchange. FIG. 4 illustrates the general format of an ISUP message. Thus, an ISUP message comprises, in addition to the routing label 43, a circuit-identification code (CIC) 44 indicating the number of the speech circuit between two exchanges to which the message refers, a message type code 45 (set to 00000001 for an IAM), and a number of parameters organised into three parts 46, 47, 48 according to type. Mandatory parameters of fixed length are placed in the mandatory fixed part 46 (for an IAM, these are the Nature of Connection parameter, the Forward-call Indicators, the Calling Party Category parameter, and the Transmission Medium Requirement parameter). Mandatory parameters of variable length are placed in the variable mandatory part 47 (for an IAM, there is only one such parameter, namely the Calling-Party Number). Optional parameters are placed in the optional part 48 (for an IAM, these are the Calling-Party Number and User-to-User information).
Number Portability Service
The general process of service provision in a modern PSTN has already been outlined above, this process involving the generation by an SSP of a service request that is then passed to service control functionality (generally either in the form of an SCP or an Adjunct). To facilitate an understanding of the context of the present invention, a more specific example of a known service will next be described.
A service that is currently attracting much attention is number portability. The reason for this interest is that Local Number Portability (LNP) has become a regulatory requirement in the USA. LNP is intended to allow subscribers to move between LECs (Local Exchange Carriers) whilst retaining their existing telephone numbers, within a rating area.
AT&T has proposed an LNP solution using a Location Routing Number (LRN). This solution relies on switched-based triggers to reference service control functionality in standard manner. The solution requires modification to the ISUP IAM message to add in a Generic Address Parameter (GAP) and a Forward Call Indicator (FCI). The general operation of the LRN number portability proposal will become clear from the following description given with reference to FIG. 5.
In FIG. 5, party A is connected to switch EO1 of carrier C1 ("EO" standing, of course, for "End Office"). Party B was previously connected to switch EO2 of carrier C1 but has now ported (moved) to carrier C2 and is currently connected to switch EO3 of carrier C2. Before B ported to carrier C2, B's number was "708-444-1234", the "708-444" part of this number indicating the switch; when A dialled B, the switch EO1 simply routed the call direct to switch EO2 based on the "444" part of the dialled number. After B has ported, B is connected to switch EO3 which is identified by "708-555". The objective of number portability is to enable A to continue to dial B using the number "708-444-1234" (it being appreciated that the "708" part of the number will not need to be dialled by A). The operations that follow the dialling of "444-1234" by A will now be described, these operations being indicated by bracketed reference numbers in FIG. 5:
As described, the above method relies on the originating switch (here EO1) querying a LRN database before initiating every call. Considering the small number of customers who are expected to port their numbers, this approach (the "originating trigger" method) results in highly inefficient use of valuable network resources. As an alternative, the originating switch can be arranged to attempt to terminate each call to the switch indicated in the dialled number DN; most calls will complete successfully and only in the event that a call fails because of a call attempt to a ported DN will a LRN database lookup be made. This second approach is referred to as the "call dropback" method as it involves a failed call being dropped or released back to the originating switch. There are two main versions of the call dropback method which differ in where the LRN lookup is done. In the first version, the donor switch (i.e. the switch where the ported number originally resided) does the lookup and passes back the LRN to the originating switch in an enhanced release message. In the second version, it is the originating switch that does the lookup after receiving a release message from the donor switch indicating that the DN has ported. Whilst either version of the call dropback method is relatively efficient in its use of resources, a user calling a ported customer experiences an increase in post-dial delay because two calls must be initiated before one is completed.
It will be appreciated that the above-described LNP methods require modification to the existing switch software as well as to the SCPs. Such modifications are often extremely expensive and time consuming. The same shortcomings are apparent for other new services it is desired to implement.
It is an object of the present invention to provide a method of implementing services in a switched telecommunications network that is less costly and has less effect on existing infrastructure than the standard method of implementation described above. A separate object of the present invention is to provide a simple message interceptor that can be used in the method of the present invention to intercept inter-exchange signalling messages.